﻿using System;
using System.Collections.Generic;
using System.Drawing;
using System.Globalization;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using TS.Bussiness;
using TS.Entities;
using TS.Commons;

namespace Tranco.Views
{
    public partial class UpdateNumberBike : System.Web.UI.Page
    {
        private string _userId;
        private string _errorPage = "~/Error.aspx";
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                _userId = Request.QueryString["nbid"];
                HiddenFieldId.Value = Request.QueryString["nbid"];
                LoadNumberBike();
            }
        }

        protected void btnSubmit_Click(object sender, EventArgs e)
        {

            lblStatus.ForeColor = Color.Red;
            if (string.IsNullOrEmpty(txtNumber.Text))
            {
                lblStatus.Text = "Biển số xe không được để trống.";
                return;
            }
            if (txtNumber.Text.Length > 20)
            {
                lblStatus.Text = "Biển số xe ít hơn 20 ký tự";
                return;
            }
            if (txtName.Text.Length > 100)
            {
                lblStatus.Text = "Tên lái xe ít hơn 100 ký tự";
                return;
            }
            if (txtTel.Text.Length > 15)
            {
                lblStatus.Text = "Số điện thoại ít hơn 20 ký tự";
                return;
            }
            if (txtDescription.Text.Length > 200)
            {
                lblStatus.Text = "Mô tả ít hơn 200 ký tự";
                return;
            }
            try
            {
                NumberBike gw = new NumberBike();
                gw.NumberBikeId = HiddenFieldId.Value.ToNumeric();
                gw.NumberPlate = txtNumber.Text.ToUpper();
                gw.Name = txtName.Text;
                gw.Tel = txtTel.Text;
                gw.Description = txtDescription.Text;

                NumberBikeBussiness gwB = new NumberBikeBussiness();
                var result = gwB.UpdateNumberBike(gw);


                if (result > 0)
                {
                    lblStatus.ForeColor = Color.Blue;
                    lblStatus.Text = "Cập nhật biển số xe thành công.";
                    ClientConfirm();
                }
                else
                {
                    lblStatus.Text = "Không Cập nhật được biển số xe.";
                    if (result == -2)
                    {
                        lblStatus.Text = "Biển số xe không tồn tại";
                        return;
                    }
                }
            }
            catch { }

        }


        private void LoadNumberBike()
        {
            NumberBikeBussiness bu = new NumberBikeBussiness();
            NumberBike obj = bu.GetNumberBikeById(HiddenFieldId.Value.ToNumeric());

            txtNumber.Text = obj.NumberPlate;
            txtName.Text = obj.Name;
            txtTel.Text = obj.Tel;
            txtDescription.Text = obj.Description;

        }

        public void ClientConfirm()
        {
            var strScript = new StringBuilder();
            strScript.Append("<script language=JavaScript>");
            string scriptString = string.Format(CultureInfo.CurrentCulture, @"var result = window.confirm('Cập nhập thông tin thành công. Bạn có muốn trở lại trang quản lý?'); " +
                     "if(result) location.href='/Views/NumberBikeManagement.aspx';</script>");
            strScript.Append(scriptString);
            ClientScript.RegisterStartupScript(GetType(), "Pop", strScript.ToString());
        }
    }
}